export type TCopyAble = {
  copyText: string;
  copiedText: string;
  timeout: number;
  align: string;
}

export type TProps = {
  value: any;
  expanded?: boolean;
  expandDepth?: number;
  copyable?: TCopyAble | boolean;
  sort?: boolean;
  boxed?: boolean;
  theme?: string;
  timeformat?: (value: any) => string
  previewMode?: boolean;
  showArrayIndex?: boolean;
  showDoubleQuotes?: boolean;
  showObjectKeysNumber?: boolean;
}

export type TEmit = {
  (event: 'copied', value: string): void;
  (event: 'keyclick', value: string): void;
}

export type TJsonBox = {
  value?: any;
  keyName?: string;
  sort?: boolean;
  depth?: number;
  previewMode?: boolean;
  forceExpand?: boolean;
  showArrayIndex?: boolean;
  showDoubleQuotes?: boolean;
  showObjectKeysNumber?: boolean;
  path?: string;
}
